Introduction To TCP/IP Layers
Copyright ⌐ 1997 Volatility
Document Courtesy Of The Immortal Descendants (NOTE: This essay is outdated, and is no longer updated or supported)
	
	TCP/IP is a set of internet protocols. Each protocol has a 
distinctive function. There are many, task-specific protocols that 
are not mentioned here. New task-specific TCP/IP protocols are 
developed by private and public organizations. TCP/IP is constructed 
in a modular way, so that it's fairly easy to develop new protocols 
as the need for them arises. I will describe the common protocols 
here. The basic layers, from which TCP/IP gets its name, are 
Transmission Control Protocol and Internet Protocol.

Transmission Control Protocol (TCP)

	TCP governs the transmission of data packets. TCP makes sure 
that a file is broken up into data packets to be transmitted over the 
internet, then it makes sure that the packets reassemble themselves 
in correct order at their destination. It checks for errors in the 
data packets. If it detects a transmission error or a lost packet, 
TCP will tell a computer to re-send data.

Internet Protocol (IP)

	IP works with computers' IP addresses to make sure that 
internet messages are sent to the correct computers. When TCP 
assembles and checks data packets, it makes use of IP's addressing 
capability.

   When a message is sent over the internet, the
   sending computer tells the receiving computer that
   it is sending a message. The receiving computer
   acknowledges the sender, saying whether or not the
   data transmission was successful. This electronic
   acknowledgement is called an ACK (when the
   transmission is successful) or a NACK (when it's
   not).


User Datagram Protocol (UDP)

	UDP, like TCP, is used to deliver data. UDP does not check 
for errors in the content or sequence of data packets, nor does it 
ask a sending computer to re-send any messages. UDP is useful in 
certain cases, because it operates a little more quickly than TCP. 
For example, the Domain Name System uses UDP to process requests for 
numeric IP addresses. (Which is why you sometimes have to click twice 
on a hyperlink to get through to a web page; the first request was 
dropped by UDP and the DNS reported back to you that the server for 
which you asked does not exist on the DNS.) While TCP separates data 
into multiple data packets and reassembles the packets at their 
destination, UDP will not separate data and is used only for sending
very simple data, that fit into a single packet.

Internet Control Message Protocol (ICMP)

	Like UDP, ICMP is a fast and simple way to deliver data, and 
is used only for data that fit into a single packet. The UNIX ping 
program uses ICMP to check whether a specific computer is successfully 
attached to a network. If the computer is not attached, ICMP will tell 
the ping program to deliver an error message to the user. ICMP is also 
used to deliver error messages.  When you use your web browser to 
connect to a host, and you get back a message telling you the host is 
not responding, it's ICMP that delivers the message.

Address Resolution Protocol (ARP

	ARP tells IP the addresses of network hardware components.

Network Time Protocol (NTP)

	NTP stamps the correct time of day on documents and other 
network information. It's a small but pretty important protocol, since 
a lot of applications and functions rely on synchronized time 
information. A time-server computer supplies the correct time to NTP. 
The time-server computer gets the correct time from an official source, 
like the International Standards Organization.

Network News Transfer Protocol (NNTP)

	NNTP allows information to be transmitted between Usenet news 
servers and the internet. It also allows news servers and news clients 
to communicate.

-Volatility-